#ifndef INTEGRATOR_TIME_H_
#define INTEGRATOR_TIME_H_

#include <stdio.h>
#include <math.h>
#include <common/mavlink.h>


#ifndef HAVE_STRUCT_POINT_INT_T
#define HAVE_STRUCT_POINT_INT_T
typedef struct _point_3D_t
{
	float x;
	float y;
	float z;
}point_3D_t;
#endif

#ifndef HAVE_STRUCT_COUNT_INT_T
#define HAVE_STRUCT_COUNT_INT_T
typedef struct _count_3D_t
{
	uint16_t x;
	uint16_t y;
	uint16_t z;
}count_3D_t;
#endif

class integrator_time_c
{

public:
	float delta_time;
	point_3D_t initial_value_1;
	point_3D_t initial_value_2;
	point_3D_t f;
	point_3D_t order_1_value;
	point_3D_t order_2_value;
	count_3D_t count;

	integrator_time_c(float dT);
	~integrator_time_c();
	void reset(int rx, int ry, int rz);
	count_3D_t order_1(void);
	count_3D_t order_2(void);	
};


#endif






